#if !defined(__DVC_1006_H__)
#define __DVC_1006_H__

#include "dvc_config.h"
#include "dvc_status.h"
#include "dvc_debug.h"

void dvc1006_auto_init(void);
void dvc_init(dvc_t dvc, dvc_ops_t *ops, dvc_user_cfg_t *cfg);
dvc_t dvc_create(dvc_ops_t *ops, dvc_user_cfg_t *cfg);
uint8_t dvc_reset(dvc_t dvc);
void dvc_alert(dvc_t dvc);
void dvc_tick(dvc_t dvc, uint16_t tick);
void dvc_monitor(dvc_t dvc);
void dvc_log_print(dvc_t dvc, dvc_log_t *log);

/* 调用后记得调用 dvc_config_commit 函数保存一下配置 */
/* 充电开关 */
void dvc_chg(dvc_t dvc, uint8_t en);
/* 放电开关 */
void dvc_dsg(dvc_t dvc, uint8_t en);
/* 主动均衡开关 */
void dvc_aes(dvc_t dvc, uint8_t en, uint8_t flag);
/* 校准 */
void dvc_calib(dvc_t dvc, float v, float c);

extern dvc_t dvc;

#endif // __DVC_1006_H__
